import { isEmail, isMobile } from '@/utils/validate'

/**
 * 编写验证器可以调用serivce中的接口，进行实时验证
 * 所有验证情况都必须有callback，即使是正常情况也要返回空的callback
 * 否则验证的最终结果不会是true
 */

/**
 * 验证邮件格式的验证器，可以添加手机号重复的规则
 * @param rule
 * @param value
 * @param callback
 */

function validateEmail (rule, value, callback) {
  if (value && !isEmail(value)) {
    callback(new Error('邮件格式不正确'))
  } else {
    callback()
  }
}

/**
 * 验证手机号的规则，可以添加验证手机号重复的规则
 * @param rule
 * @param value
 * @param callback
 */
function validateMobile (rule, value, callback) {
  if (value && !isMobile(value)) {
    callback(new Error('手机号格式不正确'))
  } else {
    callback()
  }
}

/**
 * 验证员工编号是否重复
 * @param rule
 * @param value
 * @param callback
 */
// function validateUserIdUnique (rule, value, callback) {
//   if (value) {
//     service.getExampleGridInfo(value).then(res => {
//       if (res.code === 0) {
//         if (Object.keys(res.data).length === 0) {
//           callback()
//         } else {
//           callback(new Error('此员工号已经存在'))
//         }
//       }
//       callback(new Error('系统错误，请联系管理员'))
//     })
//   }
// }

export default {
  validateEmail,
  validateMobile
  // validateUserIdUnique
}
